home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 8
/
Night Owl CD-ROM (NOPV8) (Night Owl Publisher) (1993).ISO
/
047a
/
probots.arj
/
ORBIT2.PR
< prev
next >
Wrap
Text File
|
1990-12-16
|
2KB
|
89 lines
Procedure Orbit2;
Var
Target_angle,
Dist,
Angle : Integer;
Target_Found : Boolean;
point : Integer;
Procedure Rotate;
Begin
If Point=1 Then Angle:=Angle_to(550,500)
Else If Point=2 Then Angle:=Angle_to(500,550)
Else If Point=3 Then Angle:=Angle_to(450,500)
Else If Point=4 Then Angle:=Angle_to(500,450);
Point:=Random(4)+1;
Drive(Angle,50);
End;
Procedure Go_Center;
Begin
Repeat
Angle:=Angle_to(500,500);
Drive(Angle,50);
Until ((Loc_X>450) and (Loc_X<550) And
(Loc_Y>450) and (Loc_Y<550));
End;
Procedure Scan_for;
Var
Temp,
Junk : Integer;
Begin
If Target_angle=(500) then Begin
For Junk:=1 to 360 do
Begin
Temp:=Scan(Junk,3);
If Not(Temp=Scan(Junk,5)) then Begin
Target_Found:=true;
Temp:=Target_angle;
Target_Angle:=(Junk);
Junk:=(Temp);
End;
End
End
Else Begin
For Junk:=(Target_angle-45) to (Target_angle+45) do
If Junk<0 then Begin
Temp:=Scan((360+Junk),3);
If (Temp=Scan((360+Junk),5)) then Begin
Target_Found:=true;
Temp:=Target_angle;
Target_Angle:=(360+Junk);
Junk:=Temp+45;
End;
End
Else Begin
Temp:=Scan(Junk,3);
If (Temp=Scan(Junk,5)) then Begin
Target_Found:=true;
Temp:=Target_angle;
Target_Angle:=Junk;
Junk:=(Temp+45);
End;
End
End;
End;
Begin
Target_angle:=500;
Go_Center;
Point:=1;
Repeat
Target_Found:=False;
Rotate;
Scan_For;
Dist:=Scan(Target_Angle,10);
If Dist>40 then Begin
Cannon(Target_angle,Dist);
Cannon(Target_angle,Dist);
Cannon(Target_angle,Dist);
End;
If Not Target_Found Then Target_Angle:=500;
If Target_Angle=500 then Go_Center;
Until Winner or Dead;
End;